<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ol>
    <li>
        数组
        <ol>
            <li>11. 盛最多水的容器</li>
            <li>26. 删除有序数组中的重复项</li>
            <li>912. 排序数组(用快速排序来解答)</li>
        </ol>
    </li>
    <li>
        哈希表
        <ol>
            <li>15. 三数之和</li>
            <li>179. 最大数</li>
        </ol>
    </li>
    <li>
        链表
        <ol>
            <li>{data: '1', next: {}}</li>
            <li>141. 环形链表</li>
            <li>142. 环形链表2</li>
            <li>203. 移除链表元素</li>
            <li>206. 反转链表</li>
        </ol>
    </li>
    <li>
        树
        <ol>
            <li>
                二叉树
                <ol>
                    <li>100. 相同的树</li>
                    <li>104. 二叉树的最大深度</li>
                    <li>144. 二叉树的前序遍历</li>
                    <li>145. 二叉树的后序遍历</li>
                    <li>226. 翻转二叉树</li>
                    <li>236. 二叉树的最近公共祖先</li>
                </ol>
            </li>
            <li>
                二叉搜索树
                <ol>
                    <li>节点的值 大于 左节点的值</li>
                    <li>节点的值 小于 右节点的值</li>
                    <li>98. 验证二叉搜索树</li>
                    <li>235. 二叉搜索树的最近公共祖先</li>
                </ol>
            </li>
        </ol>
    </li>
    <li>图</li>
    <li>
        栈
        <ol>
            <li>20.有效的括号</li>
            <li>71.简化路径</li>
        </ol>
    </li>
    <li>队列</li>
</ol>
<ol>
    <li>排序</li>
    <li>查找</li>
    <li>动态规划</li>
</ol>
<ol>
    <li>时间复杂度</li>
    <li>空间复杂度</li>
</ol>
<ol>
    <li>暴力循环</li>
    <li>加缓存，空间换取时间</li>
    <li>递归</li>
    <li>递推</li>
    <li>
        二分查找
        <ol>
            <li>50. Pow(x, n)</li>
            <li>69. x 的平方根 </li>
            <li>374. 猜数字大小</li>
        </ol>
    </li>
    <li>
        递归+回溯
        <ol>
            <li>37. 解数独</li>
            <li>46. 全排列</li>
            <li>51. N 皇后</li>
            <li>79. 单词搜索</li>
        </ol>
    </li>
    <li>
        动态规划
        <ol>
            <li>贪心（局部最优解）</li>
            <li>动态规划（全局最优解）</li>
            <li>10. 正则表达式匹配</li>
            <li>72. 编辑距离</li>
            <li>120. 三角形最小路径和</li>
            <li>322. 零钱兑换</li>
        </ol>
    </li>
    <li>
        位运算
        <ol>
            <li></li>
        </ol>
    </li>
</ol>
<script>
    // var fib = function(n) {
    //     let i = 2;
    //     let arr = [0, 1];
    //     while(i <= n) {
    //         arr[i] = arr[i - 1] + arr[i - 2];
    //         i++;
    //     }
    //     console.log(arr);
    //     return arr[n];
    // };
    //
    // fib(46);

    function leftPad(str, length, ch) {
        let len = length - str.length;
        let total = '';
        while(len) {
            if (len & 1) {
                total += ch;
            }

            if (len === 1) {
                return total + str;
            }
            ch += ch;
            len = len >> 1;
        }
    }

    console.log(leftPad('world', 100, '0'));
</script>
</body>
</html>